Make it work correctly when the child model is cleared completely.
authorMatthias Clasen <maclas@gmx.de>
Mon, 1 Mar 2004 23:34:08 +0000 (23:34 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Mon, 1 Mar 2004 23:34:08 +0000 (23:34 +0000)
Mon Mar  1 23:59:18 2004  Matthias Clasen  <maclas@gmx.de>

* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted):
Make it work correctly when the child model is cleared
completely. (#121633)

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtktreemodelsort.c

index 7b55c920b0dc3cea5e1482356caa74bedcae4dc5..0eab7c039f014ae0313f6b45200975784a68cea8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Mon Mar  1 23:59:18 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): 
+       Make it work correctly when the child model is cleared 
+       completely. (#121633)
+
 2004-03-01  Michael Natterer  <mitch@gimp.org>
 
        * gtk/gtkfilechooserwidget.h: removed accidentially committed char
index 7b55c920b0dc3cea5e1482356caa74bedcae4dc5..0eab7c039f014ae0313f6b45200975784a68cea8 100644 (file)
@@ -1,3 +1,9 @@
+Mon Mar  1 23:59:18 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): 
+       Make it work correctly when the child model is cleared 
+       completely. (#121633)
+
 2004-03-01  Michael Natterer  <mitch@gimp.org>
 
        * gtk/gtkfilechooserwidget.h: removed accidentially committed char
index 7b55c920b0dc3cea5e1482356caa74bedcae4dc5..0eab7c039f014ae0313f6b45200975784a68cea8 100644 (file)
@@ -1,3 +1,9 @@
+Mon Mar  1 23:59:18 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): 
+       Make it work correctly when the child model is cleared 
+       completely. (#121633)
+
 2004-03-01  Michael Natterer  <mitch@gimp.org>
 
        * gtk/gtkfilechooserwidget.h: removed accidentially committed char
index 7b55c920b0dc3cea5e1482356caa74bedcae4dc5..0eab7c039f014ae0313f6b45200975784a68cea8 100644 (file)
@@ -1,3 +1,9 @@
+Mon Mar  1 23:59:18 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): 
+       Make it work correctly when the child model is cleared 
+       completely. (#121633)
+
 2004-03-01  Michael Natterer  <mitch@gimp.org>
 
        * gtk/gtkfilechooserwidget.h: removed accidentially committed char
index 7b55c920b0dc3cea5e1482356caa74bedcae4dc5..0eab7c039f014ae0313f6b45200975784a68cea8 100644 (file)
@@ -1,3 +1,9 @@
+Mon Mar  1 23:59:18 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): 
+       Make it work correctly when the child model is cleared 
+       completely. (#121633)
+
 2004-03-01  Michael Natterer  <mitch@gimp.org>
 
        * gtk/gtkfilechooserwidget.h: removed accidentially committed char
index 249de11b8c24029cb85de07cd88b427997a40c70..3b0ccc5b05bc9e49c29472fba39ed262d0a62cf7 100644 (file)
@@ -805,12 +805,14 @@ gtk_tree_model_sort_row_deleted (GtkTreeModel *s_model,
   while (elt->ref_count > 0)
     gtk_tree_model_sort_real_unref_node (GTK_TREE_MODEL (data), &iter, FALSE);
 
-  if (level->ref_count == 0 && level != tree_model_sort->root)
+  if (level->ref_count == 0)
     {
       /* This will prune the level, so I can just emit the signal and not worry
        * about cleaning this level up. */
       gtk_tree_model_sort_increment_stamp (tree_model_sort);
       gtk_tree_path_free (path);
+      if (level == tree_model_sort->root)
+       tree_model_sort->root = NULL;
       return;
     }